Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


The GUI/Server Model

The next major step in the evolution of computing came when application vendors started to develop Graphical User Interfaces (GUIs) for their applications (see Figure 33.3). Although some people call this kind of computing client/server, I do not. I think that for a system to be considered a client, it must have more than just presentation services.


Figure 33.3  The GUI/server computing model.

Many of these GUI/server applications do nothing more than their terminal counterparts did—they just added a pretty border or the ability to pull down menus with the mouse rather than with a keystroke. In fact, many graphical applications have a terminal-based or character-based version that has the exact same functionality.

Many early GUI development tools were notorious for building a pretty screen but generating horrible SQL code. The SQL statements they generated were very inefficient and often generated much unnecessary CPU and network processing. Much of the problem was caused by the fact that the development tool generated code that was interpreted by another application that ran on the client. This arrangement was very inefficient and slow. It was not uncommon for complaints from users to result in the discovery that a 10-second response time was caused by 2 seconds in the RDBMS and 8 seconds in the GUI. Fortunately, today’s tools are much more efficient.

The addition of the GUI to applications changed the way people looked at applications but was not a great leap in technology. The real revolution occurred when these “client” machines started to do more than just present the data to the user.

The Client/Server Model

The client/server came of age when the “client” actually started doing work. Allowing the client to offload work from the server does help somewhat, but the real benefit of client/server computing is the addition of new functionality that was impossible in the past. The client/server machine allows many new and traditional functions to be performed on the client machine (see Figure 33.4).


Figure 33.4  The client/server computing model.

In general, these client functions have very little to do with the actual display of the data (in contrast to the GUI/server model, which affected only the display of data). These additional functions have more to do with processing the data to be displayed, validating input values, performing local table lookups, and so on. Here is a list of some of the functions that the “client” in a client/server environment can perform:

  Input validation. In general, this is more than just validating that the field is of the correct type; it can include range checking and even table validation.
  Data processing. The client may be responsible for processing the returned data into a viewable form such as a pie chart or graph.
  Menu processing. Input values for a particular field may be chosen from a local table that is periodically downloaded from the server.
  Application processing. The client may perform some data conversion or application processing.
  Compression. Data compression or decompression may be performed by the client. This is especially important with video information.

When comparing client/server systems to GUI/server systems, consider the functionality of the client. By offloading work to increasingly more powerful clients, the performance of the entire system can be improved. As you see later in this chapter, it is also possible to offload the power of the server to a second-tier system.

Review of the Evolution of Computing

I hope the preceding discussion has conveyed to you my views about what defines a system and how a client/server system differs from a terminal or a GUI/server system. By understanding how the client operates and what its functions are, you can better see the ways that client performance is affected by such things as CPU, memory, and I/O capacity.

As the power of the client increases, so are the demands on it by new and more powerful applications. Those of us who have been in the computer industry for a while have seen the never-ending cycle of hardware and software: As new and faster hardware is introduced, new and more powerful software is developed to take advantage of the additional resources. There will never be a time when there is enough CPU power, enough memory, or enough I/O capacity to run our applications. This is what keeps the computer industry moving ahead; this is what keeps us going.

Two-Tiered and Three-Tiered Models

From the client/server computing model have evolved two different types of computing models: the two-tiered model and the three-tiered model. The two-tiered model is more like the traditional client/server model; the three-tiered model adds a level of processing known as the application server, which handles some of the functions of the client as well as some of the functions of the server.

Two-Tiered System

The two-tiered system is the traditional client/server system described earlier in this chapter. This system consists of one or more servers and a client. The client system runs part or all of the application; the server provides the RDBMS functionality. This traditional client/server system is shown in Figure 33.5. In this manner, the client and the server work together to provide the needed functionality to the user community.


Figure 33.5  The traditional two-tiered client/server configuration.

This model is typical for most client/server configurations today. However, I believe that many new client/server applications will soon move to the three-tiered model, described in the following section.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.